Fullstack-Study

Index


RDBMS / NoSQL

RDBMS

NoSQL

스키마(Schema)

CREATE TABLE auction (
  id          SERIAL PRIMARY KEY,
  title       VARCHAR(200) NOT NULL,
  status      VARCHAR(20) CHECK (status IN ('OPEN','CLOSED')),
  seller_id   INTEGER REFERENCES users(id)
);

트랜잭션 / ACID

트랜잭션

BEGIN;  -- 트랜잭션 시작
  UPDATE accounts SET balance = balance - 100000 WHERE id = 'A';
  UPDATE accounts SET balance = balance + 100000 WHERE id = 'B';
COMMIT;  -- 둘 다 성공하면 확정
-- 중간에 오류 → ROLLBACK 자동 처리

ACID 특성

속성 설명 예시
Atomicity(원자성) 전부 성공 or 전부 실패, 중간 상태 없음 이체 중 오류 → 둘 다 취소
Consistency(일관성) 트랜잭션 전후로 DB 규칙 항상 유지 잔액이 음수가 되는 상황 방지
Isolation(격리성) 동시 트랜잭션이 서로 영향 안 줌 동시에 같은 좌석 예약 시 충돌 방지
Durability(지속성) 커밋된 데이터는 장애 나도 유지 서버 꺼져도 이체 결과 보존

PostgreSQL

Oracle 대비 차이점

MariaDB 대비

MySQL 대비


Redis